
package cn.edu.scau.cmi.hombio.service;

import cn.edu.scau.cmi.hombio.domain.Employee;
import cn.edu.scau.cmi.hombio.domain.MedicineTake;
import cn.edu.scau.cmi.hombio.domain.MedicineTakeDetail;
import cn.edu.scau.cmi.hombio.domain.Task;

import java.util.List;
import java.util.Set;

/**
 * Spring service that handles CRUD requests for MedicineTake entities
 * 
 */
public interface MedicineTakeService {

	/**
	* Return all MedicineTake entity
	* 
	 */
	public List<MedicineTake> findAllMedicineTakes(Integer startResult, Integer maxRows);

	/**
	* Save an existing Employee entity
	* 
	 */
	public MedicineTake saveMedicineTakeEmployeeByPharmacistId(Integer id, Employee related_employeebypharmacistid);

	/**
	* Save an existing Employee entity
	* 
	 */
	public MedicineTake saveMedicineTakeEmployeeByTakerId(Integer id_1, Employee related_employeebytakerid);

	/**
	 */
	public MedicineTake findMedicineTakeByPrimaryKey(Integer id_2);

	/**
	* Delete an existing MedicineTake entity
	* 
	 */
	public void deleteMedicineTake(MedicineTake medicinetake);

	/**
	* Delete an existing MedicineTakeDetail entity
	* 
	 */
	public MedicineTake deleteMedicineTakeMedicineTakeDetails(Integer medicinetake_id, Integer related_medicinetakedetails_id);

	/**
	* Save an existing MedicineTakeDetail entity
	* 
	 */
	public MedicineTake saveMedicineTakeMedicineTakeDetails(Integer id_3, MedicineTakeDetail related_medicinetakedetails);

	/**
	* Load an existing MedicineTake entity
	* 
	 */
	public Set<MedicineTake> loadMedicineTakes();

	/**
	* Delete an existing Task entity
	* 
	 */
	public MedicineTake deleteMedicineTakeTask(Integer medicinetake_id_1, Integer related_task_id);

	/**
	* Return a count of all MedicineTake entity
	* 
	 */
	public Integer countMedicineTakes();

	/**
	* Delete an existing Employee entity
	* 
	 */
	public MedicineTake deleteMedicineTakeEmployeeByPharmacistId(Integer medicinetake_id_2, Integer related_employeebypharmacistid_id);

	/**
	* Save an existing Task entity
	* 
	 */
	public MedicineTake saveMedicineTakeTask(Integer id_4, Task related_task);

	/**
	* Delete an existing Employee entity
	* 
	 */
	public MedicineTake deleteMedicineTakeEmployeeByTakerId(Integer medicinetake_id_3, Integer related_employeebytakerid_id);

	/**
	* Save an existing MedicineTake entity
	* 
	 */
	public void saveMedicineTake(MedicineTake medicinetake_1);
}